package mapper;

import com.lagou.entity.UserCourseOrder;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface OrderDao {

    void saveOrder(@Param("orderNo") String orderNo, @Param("userId") String userId, @Param("courseId") String courseId, @Param("activityCourseId") String activityCourseId, @Param("sourceType") String sourceType);

    /**
     * 修改订单状态
     *
     * @param orderNo 订单编号
     * @param status  订单状态 0已创建 10已支付 20已完成 30已取消 40已过期
     * @return 受影响的行数
     */
    Integer updateOrder(@Param("orderNo") String orderNo, @Param("status") Integer status);

    /**
     * 删除订单
     *
     * @param orderNo 订单编号
     * @return 受影响的行数
     */
    Integer deleteOrder(@Param("orderNo") String orderNo);

    /**
     * 查询登录用户的全部订单
     *
     * @param userId 用户编号
     * @return 所有订单
     */
    List<UserCourseOrder> getOrdersByUserId(@Param("userId") String userId);
}
